package homework;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;

/*
已知一个类，定义如下：
package com.itheima;
public class DemoClass {

```
public void run() {
	System.out.println("welcome to heima!");
}
```

}
(1)写一个Properties格式的配置文件，配置类的完整名称。
(2) 写一个程序，读取这个Properties配置文件，获得类的完整名称并加载这个类，
(3)用反射 的方式运行run方法。
*/
public class Test4 {
    public static void main(String[] args) throws Exception {
        //创建Properties对象，加载配置文件信息
        Properties prop = new Properties();
        //用类加载器读
        InputStream is = Test4.class.getClassLoader().getResourceAsStream("prop.properties");
        prop.load(is);

        String className = prop.getProperty("className");
        String methodName = prop.getProperty("methodName");

        Class clazz = Class.forName(className);
        Object o = clazz.newInstance();
        Method method = clazz.getMethod(methodName);
        method.invoke(o);

/*        读取Properties配置文件
        BufferedReader br = new BufferedReader(new FileReader("Day17\\prop.properties"));
        得到字节码对象
        Class clazz = Class.forName(br.readLine());
        创建对象
        DemoClass dc = (DemoClass) clazz.newInstance();
        dc.run();*/
    }
}
